我們也許常常會碰到一個狀況是 , 當多個控制項都沒有填寫的話 , 會跳出提醒視窗 : 擇一必填
所以我們可能會迴圈這些控制項 , 若所有控制項的 length 總合為 0 就直接回傳 false
$.each(targetCtl,function(index,ctl){
var $control = $("#" + ctl);
total += $.trim($control.val()).length;
});
if(total > 0)alert("PASS");
else alert("NO");
接著我們來看看 Underscore 的 every 語法可以如何做 ,
every 的語意為 如果list中的所有元素都通过predicate的真值检测就返回true。
var isAny = _.every(targetCtl,function(ele){
if($.trim($("#" +ele).val()).length ===0)return true;
});
isAny?alert("NO"):alert("PASS");
2014 / 10 /31 修正
此文章同步發布於 保政島 使用 Underscore every 表達擇一的情境